#include <iostream>

int main()
{
    // lambda表达式：匿名函数（仿函数的语法糖）
    // [] ：捕获列表
    // () ：函数参数列表
    // {} ：函数主体
    // -> ：返回值

    // []() -> void {}; // 一般格式的lambda表达式

    int c = 10;
    // 捕获c的值
    // = 捕获值
    // & 引用捕获（这样就可以修改被捕获的值）
    auto f = [&c](int a, int b) // 函数格式定死，但是可以从外部（类）传参进去，本质就是仿函数
    {
        c++;
        return a + b + c;
    };

    std::cout << c << std::endl; 
    std::cout << f(1, 2) << std::endl;

    return 0;
}